<!DOCTYPE HTML>

<html lang="en">
<head>

<title>EnableReactiveMethodSecurity (spring-security-docs 5.6.3 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="EnableReactiveMethodSecurity (spring-security-docs 5.6.3 API)";
        }
    }
    catch(err) {
    }
//-->
var pathtoroot = "../../../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">

<div class="topNav"><a id="navbar.top">

</a>
<div class="skipNav"><a href="EnableReactiveMethodSecurity.html#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">

</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Required&nbsp;|&nbsp;</li>
<li><a href="EnableReactiveMethodSecurity.html#annotation.type.optional.element.summary">Optional</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="EnableReactiveMethodSecurity.html#annotation.type.element.detail">Element</a></li>
</ul>
</div>
<a id="skip.navbar.top">

</a></div>

</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>

<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.springframework.security.config.annotation.method.configuration</a></div>
<h2 title="Annotation Type EnableReactiveMethodSecurity" class="title">Annotation Type EnableReactiveMethodSecurity</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<pre>@Retention(RUNTIME)
@Target(TYPE)
@Documented
@Import(org.springframework.security.config.annotation.method.configuration.ReactiveMethodSecuritySelector.class)
@Configuration
public @interface <span class="memberNameLabel">EnableReactiveMethodSecurity</span></pre>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>5.0</dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">

<section role="region">
<ul class="blockList">
<li class="blockList"><a id="annotation.type.optional.element.summary">

</a>
<h3>Optional Element Summary</h3>
<table class="memberSummary">
<caption><span>Optional Elements</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Optional Element</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>org.springframework.context.annotation.AdviceMode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="EnableReactiveMethodSecurity.html#mode()">mode</a></span></code></th>
<td class="colLast">
<div class="block">Indicate how security advice should be applied.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="EnableReactiveMethodSecurity.html#order()">order</a></span></code></th>
<td class="colLast">
<div class="block">Indicate the ordering of the execution of the security advisor when multiple
advices are applied at a specific joinpoint.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="EnableReactiveMethodSecurity.html#proxyTargetClass()">proxyTargetClass</a></span></code></th>
<td class="colLast">
<div class="block">Indicate whether subclass-based (CGLIB) proxies are to be created as opposed to
standard Java interface-based proxies.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">

<section role="region">
<ul class="blockList">
<li class="blockList"><a id="annotation.type.element.detail">

</a>
<h3>Element Detail</h3>
<a id="proxyTargetClass()">

</a>
<ul class="blockList">
<li class="blockList">
<h4>proxyTargetClass</h4>
<pre>boolean&nbsp;proxyTargetClass</pre>
<div class="block">Indicate whether subclass-based (CGLIB) proxies are to be created as opposed to
standard Java interface-based proxies. The default is <code>false</code>. <strong>
Applicable only if <a href="EnableReactiveMethodSecurity.html#mode()"><code>mode()</code></a> is set to <code>AdviceMode.PROXY</code></strong>.
<p>
Note that setting this attribute to <code>true</code> will affect <em>all</em>
Spring-managed beans requiring proxying, not just those marked with
<code>@Cacheable</code>. For example, other beans marked with Spring's
<code>@Transactional</code> annotation will be upgraded to subclass proxying at the same
time. This approach has no negative impact in practice unless one is explicitly
expecting one type of proxy vs another, e.g. in tests.</div>
<dl>
<dt>Default:</dt>
<dd>false</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="mode()">

</a>
<ul class="blockList">
<li class="blockList">
<h4>mode</h4>
<pre>org.springframework.context.annotation.AdviceMode&nbsp;mode</pre>
<div class="block">Indicate how security advice should be applied. The default is
<code>AdviceMode.PROXY</code>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <code>AdviceMode</code> to use</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>AdviceMode</code></dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>org.springframework.context.annotation.AdviceMode.PROXY</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="order()">

</a>
<ul class="blockListLast">
<li class="blockList">
<h4>order</h4>
<pre>int&nbsp;order</pre>
<div class="block">Indicate the ordering of the execution of the security advisor when multiple
advices are applied at a specific joinpoint. The default is
<code>Ordered.LOWEST_PRECEDENCE</code>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the order the security advisor should be applied</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>2147483647</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>

<footer role="contentinfo">
<nav role="navigation">

<div class="bottomNav"><a id="navbar.bottom">

</a>
<div class="skipNav"><a href="EnableReactiveMethodSecurity.html#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">

</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Required&nbsp;|&nbsp;</li>
<li><a href="EnableReactiveMethodSecurity.html#annotation.type.optional.element.summary">Optional</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="EnableReactiveMethodSecurity.html#annotation.type.element.detail">Element</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">

</a></div>

</nav>
</footer>
<script>if (window.parent == window) {(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script','//www.google-analytics.com/analytics.js','ga');ga('create', 'UA-2728886-23', 'auto', {'siteSpeedSampleRate': 100});ga('send', 'pageview');}</script><script defer src="https://static.cloudflareinsights.com/beacon.min.js/v652eace1692a40cfa3763df669d7439c1639079717194" integrity="sha512-Gi7xpJR8tSkrpF7aordPZQlW2DLtzUlZcumS8dMQjwDHEnw9I7ZLyiOj/6tZStRBGtGgN6ceN6cMH8z7etPGlw==" data-cf-beacon='{"rayId":"7040f6557a4c97cf","token":"bffcb8a918ae4755926f76178bfbd26b","version":"2021.12.0","si":100}' crossorigin="anonymous"></script>
</body>
</html>
